SQLAlchemy তে Attributes এবং Columns ডেটাবেস টেবিলের জন্য গুরুত্বপূর্ণ উপাদান। Attributes হল Python ক্লাসের বৈশিষ্ট্য (এটি একটি সাধারণ প্রোপার্টি), এবং Columns হল SQLAlchemy টেবিলের কাঠামোর জন্য কলাম। Attributes এবং Columns একে অপরের সাথে সংযুক্ত থাকে এবং ORM (Object Relational Mapping) প্রক্রিয়ার মাধ্যমে ডেটাবেসের টেবিল রেকর্ডগুলোকে Python অবজেক্টে রূপান্তরিত করা হয়।
Columns
SQLAlchemy তে, Column হলো টেবিলের একটি ক্ষেত্র, যেখানে ডেটা সংরক্ষিত হয়। প্রতিটি Column একটি নির্দিষ্ট ডেটা টাইপ ধারণ করে, যেমন Integer, String, Float, Date ইত্যাদি। একটি টেবিল তৈরি করার সময়, আপনি একাধিক Column সংজ্ঞায়িত করেন, এবং প্রতিটি Column টেবিলের একটি ক্ষেত্রের প্রতিনিধিত্ব করে।
Column এর বৈশিষ্ট্য:
- name: কলামের নাম
- type: কলামের ডেটা টাইপ
- primary_key: প্রাথমিক কী নির্দেশ করতে ব্যবহৃত হয়
- nullable: ডিফল্টভাবে কলামটি নাল (NULL) হতে পারবে কিনা
- unique: কলামটি ইউনিক হওয়া উচিত কিনা
উদাহরণ:
from sqlalchemy import create_engine, Column, Integer, String, MetaData, Table
# Metadata অবজেক্ট তৈরি
metadata = MetaData()
# Table অবজেক্ট তৈরি
users_table = Table('users', metadata,
Column('id', Integer, primary_key=True), # id কলাম (primary key)
Column('name', String), # name কলাম (String টাইপ)
Column('age', Integer) # age কলাম (Integer টাইপ)
)
# ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db', echo=True)
# টেবিল তৈরি
metadata.create_all(engine)
এখানে, users_table এর মধ্যে id, name, এবং age কলাম রয়েছে। id কলামটি primary_key=True সেট করা হয়েছে, যার মাধ্যমে এটি টেবিলের প্রাথমিক কী হিসেবে কাজ করবে।
Attributes
Attributes হল Python ক্লাসের সাধারণ বৈশিষ্ট্য যা ক্লাসের অবজেক্টের মাধ্যমে অ্যাক্সেস করা যায়। SQLAlchemy তে, Attributes সাধারণত Column এর সাথে সংযুক্ত থাকে, যার মাধ্যমে ক্লাসের অভ্যন্তরে ডেটাবেস টেবিলের কলামের মান রাখা হয়।
SQLAlchemy ORM ব্যবহার করে, Attributes Python ক্লাসের বৈশিষ্ট্য হিসেবে কাজ করে, এবং এগুলোর মাধ্যমে আপনি ডেটাবেস টেবিলের রেকর্ডের সাথে ইন্টারঅ্যাক্ট করতে পারেন।
উদাহরণ:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
# Base ক্লাস তৈরি
Base = declarative_base()
# User ক্লাস তৈরি (Attributes এবং Columns সংযুক্ত করা)
class User(Base):
__tablename__ = 'users' # টেবিলের নাম
id = Column(Integer, primary_key=True) # Column হিসেবে id
name = Column(String) # Column হিসেবে name
age = Column(Integer) # Column হিসেবে age
# টেবিল তৈরি করার জন্য ইঞ্জিন তৈরি
engine = create_engine('sqlite:///example.db', echo=True)
# টেবিল তৈরি
Base.metadata.create_all(engine)
এখানে User ক্লাসের মধ্যে id, name, এবং age কলামগুলো রয়েছে, যা Attributes হিসেবে সংজ্ঞায়িত করা হয়েছে। এগুলোর সাথে SQLAlchemy Columns সংযুক্ত থাকে, যেগুলো টেবিলের কলামকে প্রতিনিধিত্ব করে। Attributes (যেমন name, age) ক্লাসের অবজেক্টের মাধ্যমে ডেটাবেস টেবিলের কলামের মানকে ধারণ করে।
Attributes এবং Columns সংযুক্ত করার প্রক্রিয়া
- Declarative Base ব্যবহারের মাধ্যমে, আপনি Attributes (Python ক্লাসের অ্যাট্রিবিউট) এবং Columns (SQLAlchemy টেবিলের কলাম) এর মধ্যে সম্পর্ক তৈরি করেন।
- Column টেবিলের এটি একটি ক্ষেত্র প্রতিনিধিত্ব করে, যা SQLAlchemy ORM দ্বারা Attributes হিসেবে ব্যবহৃত হয়।
- SQLAlchemy আপনার Python ক্লাস এবং SQL টেবিল এর মধ্যে সম্পর্ক তৈরি করে, যাতে Python অবজেক্টের মাধ্যমে ডেটাবেসের টেবিলের রেকর্ডের সাথে কাজ করা যায়।
Attributes এবং Columns এর মধ্যে সম্পর্ক
| Attributes | Columns |
|---|---|
| Python ক্লাসের বৈশিষ্ট্য | SQLAlchemy টেবিলের কলাম |
| ডেটাবেস রেকর্ডের মান ধারণ করে | টেবিলের ক্ষেত্রের মান ধারণ করে |
| অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে কাজ করে | ডেটাবেসের সাথে যোগাযোগ স্থাপন করে |
সারাংশ
SQLAlchemy তে Attributes এবং Columns খুব গুরুত্বপূর্ণ এবং সম্পর্কযুক্ত উপাদান। Attributes হল Python ক্লাসের বৈশিষ্ট্য যা Columns এর সাথে সংযুক্ত থাকে এবং ডেটাবেস টেবিলের ক্ষেত্রগুলোর প্রতিনিধিত্ব করে। SQLAlchemy ORM অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে ডেটাবেস ম্যানিপুলেশন করতে সাহায্য করে, যেখানে Attributes এবং Columns এর সম্পর্ক নিশ্চিত করে ডেটাবেস টেবিল এবং Python ক্লাসের মধ্যে একটি শক্তিশালী সংযোগ।
Read more